package com.yuke.cloud.service.wmc.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;

@ApiModel(value = "com.yuke.cloud.service.wmc.entity.WmsStockOut")
@Data
@Table(name = "wms_stock_out")
public class WmsStockOut {
    @Transient
    private String specName;
    @Transient
    private String productName;

    @Transient
    private String warehouseName;
    @Transient
    private String categoryName;



    /**
     * 主键，自增
     */
    @Id
    @Column(name = "stock_out_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "stockOutId主键，自增")
    private Long stockOutId;

    /**
     * 仓库ID
     */
    @Column(name = "warehouse_id")
    @ApiModelProperty(value = "warehouseId仓库ID")
    private Long warehouseId;

    /**
     * 出库类型，0：订单出货出库，1：其他仓库调配出库,3:报损单出库。4:退货出库
     */
    @Column(name = "out_type")
    @ApiModelProperty(value = "outType出库类型")
    private Byte outType;

    @Column(name = "out_status")
    @ApiModelProperty(value = "outStatus出库状态，0：已出库，1：未出库。")
    private Byte outStatus;

    /**
     * 商品规格ID
     */
    @Column(name = "spec_id")
    @ApiModelProperty(value = "specId商品规格ID")
    private Long specId;

    /**
     * 商品ID
     */
    @Column(name = "product_id")
    @ApiModelProperty(value = "productId商品ID")
    private Long productId;

    /**
     * 出库数量
     */
    @Column(name = "out_number")
    @ApiModelProperty(value = "outNumber出库数量")
    private Integer outNumber;

    @Column(name = "out_price")
    @ApiModelProperty(value = "outPrice出库价格")
    private Integer outPrice;

    @Column(name = "purchase_return_id")
    @ApiModelProperty(value = "purchaseReturnId当出库商品为调给其他仓库时，该字段填入调货单ID")
    private Long purchaseReturnId;

    /**
     * 当出库商品为调给其他仓库时，该字段填入调货单ID
     */
    @Column(name = "trans_order_id")
    @ApiModelProperty(value = "transOrderId当出库商品为调给其他仓库时，该字段填入调货单ID")
    private Long transOrderId;

    /**
     * 当出库类型为订单出货时，该字段填入订单ID，与ods_order表关联
     */
    @Column(name = "order_id")
    @ApiModelProperty(value = "orderId当出库类型为订单出货时，该字段填入订单ID，与ods_order表关联")
    private Long orderId;

    /**
     * 是否删除，0：未删除，1：已删除
     */
    @Column(name = "is_delete")
    @ApiModelProperty(value = "isDelete是否删除，0：未删除，1：已删除")
    private Boolean isDelete;

    /**
     * 出库时间
     */
    @Column(name = "outbound_time")
    @ApiModelProperty(value = "outboundTime出库时间")
    private Date outboundTime;

    /**
     * 处理人ID
     */
    @Column(name = "update_id")
    @ApiModelProperty(value = "updateId处理人ID")
    private Long updateId;

    /**
     * 修改时间
     */
    @Column(name = "update_time")
    @ApiModelProperty(value = "updateTime修改时间")
    private Date updateTime;


}